package com.alibaba.citrus.ots.sales.plan.api.statistics;

import com.alibaba.citrus.ots.sales.plan.dto.api.request.PageQueryPlanCustomerStatRequest;
import com.alibaba.citrus.ots.sales.plan.dto.api.request.SalesPlanStatCustomerSubTotalRequest;
import com.alibaba.citrus.ots.sales.plan.dto.api.response.SalesPlanScItemStatSubTotalResponse;
import com.alibaba.citrus.ots.sales.plan.sdo.SalesPlanStatCustomerSDO;
import com.alibaba.cz.base.tool.page.PageResult;
import com.alibaba.lattice2.epoch.meshflow.model.annotation.MeshFlowService;
import com.alibaba.lattice2.epoch.sdk.model.Result;

import java.util.List;

/**
 * @author yuhailin
 * @description:
 * @date 2021-09-27 10:26
 */
@MeshFlowService(apps = {"bc_ots"}, name = "salesPlanCustomerStatQueryService")
public interface SalesPlanCustomerStatQueryService {
    /**
     * 计划-客户维度-列表查询
     *
     * @param pageQueryPlanCustomerStatRequest
     * @return
     */
    Result<PageResult<List<SalesPlanStatCustomerSDO>>> pageQueryPlanCustomerList(PageQueryPlanCustomerStatRequest pageQueryPlanCustomerStatRequest);

    /**
     * 月度计划客户小计
     * @param salesPlanStatCustomerSubTotalRequest
     * @return
     */
    Result<SalesPlanScItemStatSubTotalResponse> subTotalSalesPlanStatCustomer(SalesPlanStatCustomerSubTotalRequest salesPlanStatCustomerSubTotalRequest);
}
